package com.samehope.ar.service;

import com.samehope.ar.dto.TeamMemberAddParam;
import com.samehope.ar.dto.TeamMemberUpdateParam;
import com.samehope.ar.entity.ProjectTeamMember;
import com.baomidou.mybatisplus.extension.service.IService;
import com.samehope.ar.vo.FormSelectVO;
import com.samehope.ar.vo.TeamMemberVO;

import java.util.List;

/**
 * <p>
 * 项目团队成员 服务类
 * </p>
 *
 * @author Zhang Luo
 * @since 2019-12-23
 */
public interface IProjectTeamMemberService extends IService<ProjectTeamMember> {

    /**
     * 添加 项目/团队 成员
     * @param param
     */
    void add(TeamMemberAddParam param);

    /**
     * 修改 项目/团队 成员关系
     * @param param
     */
    void update(TeamMemberUpdateParam param);

    /**
     * 从项目中删除该用户
     * @param userId
     */
    void delete(Long userId);

    /**
     * 根据团队获取项目成员列表
     * @param teamId
     * @return
     */
    List<TeamMemberVO> members(Long teamId);

    /**
     * 获取团队成员下拉框数据
     * @return
     */
    List<FormSelectVO> listForSelect();
}
